// 小文件拷贝
var  fs = require('fs');
function copy(src,dst) {
	fs.writeFileSync(dst,fs.readFileSync(src));
};

function main(argv) {
	copy(argv[0],argv[1]);
};

main(process.argv.slice(2));

// process是一个全局变量，可通过process.argv获得命令行参数。
// 由于argv[0]固定等于NodeJS执行程序的绝对路径，argv[1]固定等于主模块的绝对路径，
// 因此第一个命令行参数从argv[2]开始。


// 大文件拷贝
var fs = require('fs');
function copy(src,dst) {
	// fs.createReadStream()：返回一个readStream对象（可读流）。
	// fs.createWriteStream()：返回一个writeStream对象（可写流）。
	// pipe()：将可读流与可写流连接起来的方法。
	fs.createReadStream(src).pipe(fs.createWriteStream(dst));
}

function main(argv) {
	copy(argv[0],argv[1]);
};

main(process.argv.slice(2));  //从下标为2的元素开始截取数组。
// slice(start,end)方法：从已有的数组中返回选定的元素。
// start：开始位置，可接受负数，如果是负数，就是从数组末尾开始算起。
// end：结束位置。可接受负数，如果是负数，就是从数组末尾开始算起。